package com.yhn.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yhn.shortlink.admin.dto.req.group.GroupSortReqDTO;
import com.yhn.shortlink.admin.dto.req.group.GroupUpdateReqDTO;
import com.yhn.shortlink.admin.dto.resp.group.GroupRespDTO;
import com.yhn.shortlink.common.entity.LinkGroupDO;

import java.util.List;

/**
 * @author 86177
 * @description 针对表【group】的数据库操作Service
 * @createDate 2024-07-23 13:43:21
 */
public interface LinkGroupService extends IService<LinkGroupDO> {
    /**
     * 新增短连接分组
     *
     * @param groupName 分组名称
     * @return 是否成功
     */
    boolean addGroup(String groupName);

    /**
     * 查询短链接分组
     *
     * @return 短连接分组集合
     */
    List<GroupRespDTO> listGroup();

    /**
     * 修改短链接分组
     *
     * @return 是否修改成功
     */
    Boolean updateGroup(GroupUpdateReqDTO groupSaveReqDTO);

    /**
     * 删除短链接分组
     *
     * @return 是否修改成功
     */
    Boolean deleteGroup(String gid);

    /**
     * 短链接排序
     *
     * @param groupSortReqs 要排序的短链接
     * @return 是否排序成功
     */
    boolean groupSort(List<GroupSortReqDTO> groupSortReqs);
}
